 

package com.hmc.common.annotation;

import java.lang.annotation.*;

/**
 * 数据过滤注解
 *
 * 定义一个名为DataFilter的注解，用于方法上，主要用来进行数据过滤。
 * 该注解包含三个元素：tableAlias, userId, 和 deptId，它们都可以在运行时被读取。
 *
 * @author
 */
@Target(ElementType.METHOD) // 说明该注解适用于方法级别
@Retention(RetentionPolicy.RUNTIME) // 说明该注解在运行时有效
@Documented // 说明该注解会出现在文档中
public @interface DataFilter {
    /**
     * 设置表的别名。默认值为空字符串。
     * 如果在查询中涉及到多个表，可以使用该别名来指明具体操作的表。
     * @return 表的别名
     */
    String tableAlias() default "";

    /**
     * 指定用户的ID字段名称。默认值为"creator"。
     * 通常用于根据用户ID进行数据权限过滤。
     * @return 用户ID字段名称
     */
    String userId() default "creator";

    /**
     * 指定部门的ID字段名称。默认值为"dept_id"。
     * 可用于根据部门ID进行数据过滤，实现部门级的数据隔离。
     * @return 部门ID字段名称
     */
    String deptId() default "dept_id";

}
